package version3;

import version2.TreeSetDemo;

import java.util.Set;
import java.util.TreeSet;

public class Test {
    public static void main(String[] args) {
        test1();
    }

    /*
     * 直接往TeeSet集合中存储字符串就可以排序的原因是字符串String类本身就实现了Comparable接口，
     * 并建立了自己的自然排序方法。
     *
     * 现在的问题是，字符串的自然排序方法不是我们想要的，我们想要的是根据字符串的长度进行排序，这时就需要自定义
     * 比较器，即实现Comparator接口，并重写compare方法，然后在TreeSet构造函数中传递这个自定义的比较器
     */
    private static void test1() {
        Set<String> set = new TreeSet<>(new ComparatorByStringLength());
        set.add("mba");
        set.add("javaScript");
        set.add("z");
        set.add("ab");
        set.add("hiahia");
        set.add("haha");
        set.add("haha");
        set.add("xixi");
        TreeSetDemo.out(set);
    }
}
